package com.csair.platform.cit.facade.model.citJscg;

import com.csair.platform.cit.facade.model.a200000.enums.JscgEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import javax.validation.constraints.NotEmpty;


/**
 * 技术成果投资入股企业所得税递延纳税备案表 响应模型
 * @author zhengxincheng
 */
@Data
public class CitJscgVo {

    /**
     * 纳税人识别号
     */
    @NotEmpty(message = "【纳税人识别号】不能是空值")
    private String nsrsbh;

    /**
     * 税款所属时间起
     */
    @NotEmpty(message = "【税款所属时间起】不能是空值")
    private String skssqq;

    /**
     * 税款所属时间止
     */
    @NotEmpty(message = "【税款所属时间止】不能是空值")
    private String skssqz;
    /**
     * 纳税人名称（盖章）
     */
    @NotEmpty(message = "【纳税人名称（盖章）】不能是空值")
    private String nsrmc;

    /**
     * 申报所属期：yyyy 年度
     */
    @NotEmpty(message = "【申报所属期：yyyy 年度】不能是空值")
    private String sqssqnd;
    /**
     * 行次
     */
    @NotEmpty(message = "【行次】不能是空值")
    private String hc;

    /**
     * 技术成果名称
     */
    @NotEmpty(message = "【技术成果名称】不能是空值")
    private String jscgmc;

    /**
     * 技术成果类型名称
     */
    @NotEmpty(message = "【技术成果类型】不能是空值")
    private String jscglxmc;

    /**
     *  技术成果类型
     */
    private String jscglx;
    /**
     * 技术成果编号
     */
    @NotEmpty(message = "【技术成果编号】不能是空值")
    private String jscgbh;

    /**
     * 公允价值
     */
    @NotEmpty(message = "【公允价值】不能是空值")
    private String gyjz;

    /**
     * 计税基础
     */
    @NotEmpty(message = "【计税基础】不能是空值")
    private String jsjc;

    /**
     * 取得股权时间
     */
    @NotEmpty(message = "【取得股权时间】不能是空值")
    private String gqqdsj;

    /**
     * 递延所得
     */
    @NotEmpty(message = "【递延所得】不能是空值")
    private String dysd;

    /**
     * 企业名称
     */
    @NotEmpty(message = "【企业名称】不能是空值")
    private String btzqymc;

    /**
     * 纳税人识别号
     */
    @NotEmpty(message = "【行内纳税人识别号】不能是空值")
    private String btznsrsbh;

    /**
     * 主管税务机关
     */
    @NotEmpty(message = "【主管税务机关】不能是空值")
    private String swjgmc;

    /**
     * 与投资方是否为关联企业
     */
    @NotEmpty(message = "【与投资方是否为关联企业】不能是空值")
    private String sfwglqy;

    /**
     * 备注
     */
    private String bz;

    /**
     * 法定代表人签章：
     */
    @NotEmpty(message = "【法定代表人签章】不能是空值")
    private String fddbrqz;

    /**
     * 填表人
     */
    @NotEmpty(message = "填表人不能是空值")
    private String tbr;

    /**
     * 填报日期/创建日期
     */

    private String tbrq;

    public CitJscgVo() {
    }

    public CitJscgVo(String hc, String jscgmc, String jscglxmc, String jscgbh, String gyjz, String jsjc, String gqqdsj, String dysd, String btzqymc, String btznsrsbh, String swjgmc, String sfwglqy, String bz, String fddbrqz, String tbr, String tbrq) {
        this.hc = hc;
        this.jscgmc = jscgmc;
        this.jscglxmc = jscglxmc;
        this.jscgbh = jscgbh;
        this.gyjz = gyjz;
        this.jsjc = jsjc;
        this.gqqdsj = gqqdsj;
        this.dysd = dysd;
        this.btzqymc = btzqymc;
        this.btznsrsbh = btznsrsbh;
        this.swjgmc = swjgmc;
        this.sfwglqy = sfwglqy;
        this.bz = bz;
        this.fddbrqz = fddbrqz;
        this.tbr = tbr;
        this.tbrq = tbrq;
    }

    public String getGyjz() {
        if(StringUtils.isNotEmpty(gyjz)){
            gyjz = gyjz.replaceAll(",","");
        }
        return gyjz;
    }

    public String getJsjc() {
        if(StringUtils.isNotEmpty(jsjc)){
            jsjc = jsjc.replaceAll(",","");
        }
        return jsjc;
    }

    public String getDysd() {
        if(StringUtils.isNotEmpty(dysd)){
            dysd = dysd.replaceAll(",","");
        }
        return dysd;
    }

    public String getJscglx(){
        return StringUtils.isEmpty(jscglxmc) ? jscglxmc : JscgEnum.of(jscglxmc).value;
    }
}
